package com.ittao.taoaicodemother.manage.storage.service;

import com.ittao.taoaicodemother.manage.storage.callback.DownloadProgressCallback;

/**
 * COS操作服务接口
 * 提供COS文件和目录操作的核心功能
 */
public interface CosOperationService {

    /**
     * 并发下载COS目录
     * @param cosDir COS目录路径
     * @param localDir 本地目录路径
     * @param progressCallback 进度回调
     */
    void downloadDirectoryFromCosConcurrent(String cosDir, String localDir, DownloadProgressCallback progressCallback);

    /**
     * 上传构建结果
     * @param localDir 本地目录路径
     * @param cosDir COS目录路径
     * @return 是否上传成功
     */
    boolean uploadBuildResults(String localDir, String cosDir);

    /**
     * 删除COS目录
     * @param cosDir COS目录路径
     * @return 是否删除成功
     */
    boolean deleteDirectory(String cosDir);

    /**
     * 检查文件是否存在
     * @param cosPath COS文件路径
     * @return 文件是否存在
     */
    boolean fileExists(String cosPath);

    /**
     * 删除单个文件
     * @param key 文件key
     */
    void deleteFile(String key);
}